package com.edais.service;

import java.util.List;
import java.util.Map;

import com.edais.vo.LuckDraw;
/**
 * ClassName: LuckDrawService 
 * @Description: 抽奖
 * @author chenshufeng
 * @date 2016-8-3
 */
public interface LuckDrawService {
	/**
	 * @Description: 摇一摇奖项列表
	 * @param @param paramsMap
	 * @param @return   
	 * @return Map<String,Object>  
	 * @throws
	 * @author chenshufeng
	 * @date 2016-8-3
	 */
	public Map<String, Object> queryLuckDrawList(Map<String,Object> paramsMap) throws Exception;
	
	/**
	 * @Description: 是否有抽奖资格
	 * @param @param userId
	 * @param @return
	 * @param @throws Exception   
	 * @return Map<String,Object>  
	 * @throws
	 * @author chenshufeng
	 * @date 2016-8-3
	 */
	public Map<String, String> isLuckDraw(String userId) throws Exception;

	/**
	 * 随机抽奖
	 * @param paramsMap
	 * @return
	 * @throws Exception
	 */
	public List<LuckDraw> getLuckDraw(Map<String, Object> paramsMap) throws Exception;
	

	/**
	 * 赠送奖品
	 * @param pmap
	 * @return
	 * @throws Exception
	 */
	public Map<String, Object> setLuckDraw(Map<String,Object> pmap)throws Exception;


	/**
	 * @Description: 是否存在抽奖资格
	 * @param @param userId
	 * @param @return
	 * @param @throws Exception   
	 * @return Map<String,String>  
	 * @throws
	 * @author chenshufeng
	 * @date 2016-9-2
	 */
	public Map<String, String> isExistLuckDrawTimes(String userId) throws Exception;
	
	/**
	 * @Description: 特殊奖项列表
	 * @param @param paramsMap
	 * @param @return
	 * @param @throws Exception   
	 * @return Map<String,Object>  
	 * @throws
	 * @author chenshufeng
	 * @date 2016-9-2
	 */
	public Map<String, Object> getSpecGiftsList(Map<String, String> reqMap) throws Exception;

	/**
	 * @Description:按概率获取抽奖编号
	 * @param @return   
	 * @return int  
	 * @throws
	 * @author chenshufeng
	 * @date 2016-9-2
	 */
	public int getRandomGiftNo() throws Exception;
	
	/**
	 * @Description: 送奖品
	 * @param @param pmap
	 * @param @return   
	 * @return Map<String,Object>  
	 * @throws
	 * @author chenshufeng
	 * @date 2016-9-2
	 */
	public Map<String, Object> sendGift(Map<String, String> pmap) throws Exception;
	
	/**
	 * @Description: 是否存在抽奖资格(双旦)
	 * @param @param userId,drawFlag
	 * @param @return
	 * @param @throws Exception   
	 * @return Map<String,String>  
	 * @throws
	 * @author chenshufeng
	 * @date 2016-12-8
	 */
	public Map<String, String> isExistSDLuckDrawTimes(String userId,String drawFlag) throws Exception;
	
	/**
	 * @Description: 奖项列表(双旦)
	 * @param @param reqMap
	 * @param @return
	 * @param @throws Exception   
	 * @return Map<String,Object>  
	 * @throws
	 * @author chenshufeng
	 * @date 2016-12-8
	 */
	public Map<String, Object> getSDGiftsList(Map<String, String> reqMap) throws Exception;
	
	/**
	 * @Description: 按概率获取抽奖编号(双旦)
	 * @param @return
	 * @param @throws Exception   
	 * @return int  
	 * @throws
	 * @author chenshufeng
	 * @date 2016-12-8
	 */
	public int getRandomSDGiftNo(Map<String, Object> reqMap) throws Exception;

	/**
	 * @Description: 送奖品(双旦)
	 * @param @param pmap
	 * @param @return
	 * @param @throws Exception   
	 * @return Map<String,Object>  
	 * @throws
	 * @author chenshufeng
	 * @date 2016-12-8
	 */
	public Map<String, Object> sendSDGift(Map<String, String> pmap) throws Exception;

	/**
	 * @Description: 抽奖记录
	 * @param @param reqMap
	 * @param @return   
	 * @return Map<String,Object>  
	 * @throws
	 * @author chenshufeng
	 * @date 2016-12-12
	 */
	public Map<String, Object> getSDLuckDrawResult(Map<String, Object> reqMap) throws Exception;

}
